1

ajax全称Asynchronous JavaScript And XML;

XML在简称中残留是历史原因,响应数据一般json,文本,html;

来源域的ajax向目标域(跨域)发起请求,会自动带上Origin头,如
Origin:http://fron.com
目标域判断这个Origin的值,如果正确,返回:
Access-Control-Allow-Origin:http://from.com
表示同意跨域。

如果Access-Control-Allow-Origin:*,表示任意域都可以往目标域跨,
如果没有Access-Control-Allow-Origin头部的存在,
回报下面的错误:
XMLHttpRequest cannot load.....

默认情况下,跨域无法带上目标域的回话(cookie),需要设置xhr实力的withCredentials的属性为true,

服务端设置如下:

<?php 
header("Access-Control-Allow-Origin:http://xxx.com");             
header("Access-Control-Allow-Credentials:true"); 
?>


如果设置了Credentials为true,不能设置通配符*(浏览器为了安全考虑);


搬砖大叔
580 声望9 粉丝

这孩子比较勤奋,就是脑子不太好使